]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
BluetoothStatus: show "hardware disabled" when disabled by rfkill
authorGiovanni Campagna <gcampagna@src.gnome.org>
Thu, 21 Apr 2011 15:02:19 +0000 (17:02 +0200)
committerGiovanni Campagna <gcampagna@src.gnome.org>
Mon, 27 Jun 2011 15:21:38 +0000 (17:21 +0200)
Use the new PopupSwitchMenuItem functionality when bluetooth cannot
be enabled. Use it also for showing "connecting..." when activating
device items.

https://bugzilla.gnome.org/show_bug.cgi?id=648048

js/ui/status/bluetooth.js

index ed06d16587c34fde7cd1d64f9604b6c2ddc3c382..4cf8d3be5bc892db38e04e9208a6c4d96fbd4a8b 100644 (file)
@@ -109,7 +109,11 @@ Indicator.prototype = {
                          current_state != GnomeBluetoothApplet.KillswitchState.HARD_BLOCKED;
 
         this._killswitch.setToggleState(on);
-        this._killswitch.actor.reactive = can_toggle;
+        if (can_toggle)
+            this._killswitch.setStatus(null);
+        else
+            /* TRANSLATORS: this means that bluetooth was disabled by hardware rfkill */
+            this._killswitch.setStatus(_("hardware disabled"));
 
         if (has_adapter)
             this.actor.show();
@@ -211,14 +215,15 @@ Indicator.prototype = {
         if (device.can_connect) {
             item._connected = device.connected;
             item._connectedMenuitem = new PopupMenu.PopupSwitchMenuItem(_("Connection"), device.connected);
-
             item._connectedMenuitem.connect('toggled', Lang.bind(this, function() {
                 if (item._connected > ConnectionState.CONNECTED) {
                     // operation already in progress, revert
+                    // (should not happen anyway)
                     menuitem.setToggleState(menuitem.state);
                 }
                 if (item._connected) {
                     item._connected = ConnectionState.DISCONNECTING;
+                    menuitem.setStatus(_("disconnecting..."));
                     this._applet.disconnect_device(item._device.device_path, function(applet, success) {
                         if (success) { // apply
                             item._connected = ConnectionState.DISCONNECTED;
@@ -227,9 +232,11 @@ Indicator.prototype = {
                             item._connected = ConnectionState.CONNECTED;
                             menuitem.setToggleState(true);
                         }
+                        menuitem.setStatus(null);
                     });
                 } else {
                     item._connected = ConnectionState.CONNECTING;
+                    menuitem.setStatus(_("connecting..."));
                     this._applet.connect_device(item._device.device_path, function(applet, success) {
                         if (success) { // apply
                             item._connected = ConnectionState.CONNECTED;
@@ -238,6 +245,7 @@ Indicator.prototype = {
                             item._connected = ConnectionState.DISCONNECTED;
                             menuitem.setToggleState(false);
                         }
+                        menuitem.setStatus(null);
                     });
                 }
             }));